package com.ruoyi.system.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 推特用户基本信息对象 twitter_twuser
 *
 * @author ruoyi
 * @date 2022-05-31
 */
public class TwitterTwuser extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 本系统用户唯一标识ID
     */
    private Long id;

    /**
     * 推特用户唯一表示ID
     */
    private String twUserId;

    /**
     * 用户名(唯一但可能会改),如:@TwitterDev
     */
    @Excel(name = "用户名(唯一但可能会改),如:@TwitterDev")
    private String username;

    /**
     * 用户名(不唯一),如:Twitter Dev
     */
    @Excel(name = "用户名(不唯一),如:Twitter Dev")
    private String name;

    /**
     * 推特用户创建时间(UTC)
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "推特用户创建时间(UTC)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /**
     * 个人资料描述
     */
    @Excel(name = "个人资料描述")
    private String description;

    /**
     * 用户置顶推文ID
     */
    @Excel(name = "用户置顶推文ID")
    private String pinnedTweetId;

    /**
     * 用户头像
     */
    @Excel(name = "用户头像")
    private String profileImageUrl;

    /**
     * 推文是否设置为私有,0否1是
     */
    @Excel(name = "推文是否设置为私有,0否1是")
    private Long Protected;

    /**
     * 粉丝数
     */
    @Excel(name = "粉丝数")
    private Long followersCount;

    /**
     * 关注者
     */
    @Excel(name = "关注者")
    private Long followingCount;

    /**
     * 推文数
     */
    @Excel(name = "推文数")
    private Long tweetCount;

    /**
     * 列表数
     */
    @Excel(name = "列表数")
    private Long listedCount;

    /**
     * 统计的推文数量
     */
    @Excel(name = "统计的推文数量")
    private Long queryTweetsNumber;

    /**
     * 推文总点赞数
     */
    @Excel(name = "推文总点赞数")
    private Long tweetsLikeCount;

    /**
     * 单推文最高点赞数
     */
    @Excel(name = "单推文最高点赞数")
    private Long tweetsMostLikeCount;

    /**
     * 推文总转发数
     */
    @Excel(name = "推文总转发数")
    private Long tweetsRetweetCount;

    /**
     * 单推文最高转发数
     */
    @Excel(name = "单推文最高转发数")
    private Long tweetsMostRetweetCount;

    /**
     * 推文被引用数
     */
    @Excel(name = "推文被引用数")
    private Long tweetsQuoteCount;

    /**
     * 推文总评论数
     */
    @Excel(name = "推文总评论数")
    private Long tweetsReplyCount;

    /**
     * 单推文最高评论数
     */
    @Excel(name = "单推文最高评论数")
    private Long tweetsMostReplyCount;

    /**
     * 推文中包含关键字的条数
     */
    @Excel(name = "推文中包含关键字的条数")
    private Long tweetsKeywordNumber;

    /**
     * 最新的推文发布时间(UTC)
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最新的推文发布时间(UTC)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date latestTweetTime;

    /**
     * 是否优先抓取
     */
    @Excel(name = "是否优先抓取")
    private Long priorityCrawl;

    /**
     * 是否已经从他抓取其他人
     */
    @Excel(name = "是否已经从他抓取其他人")
    private Long searchedOthers;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setTwUserId(String twUserId) {
        this.twUserId = twUserId;
    }

    public String getTwUserId() {
        return twUserId;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getUsername() {
        return username;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() {
        return createdAt;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public void setPinnedTweetId(String pinnedTweetId) {
        this.pinnedTweetId = pinnedTweetId;
    }

    public String getPinnedTweetId() {
        return pinnedTweetId;
    }

    public void setProfileImageUrl(String profileImageUrl) {
        this.profileImageUrl = profileImageUrl;
    }

    public String getProfileImageUrl() {
        return profileImageUrl;
    }

    public void setProtected(Long Protected) {
        this.Protected = Protected;
    }

    public Long getProtected() {
        return Protected;
    }

    public void setFollowersCount(Long followersCount) {
        this.followersCount = followersCount;
    }

    public Long getFollowersCount() {
        return followersCount;
    }

    public void setFollowingCount(Long followingCount) {
        this.followingCount = followingCount;
    }

    public Long getFollowingCount() {
        return followingCount;
    }

    public void setTweetCount(Long tweetCount) {
        this.tweetCount = tweetCount;
    }

    public Long getTweetCount() {
        return tweetCount;
    }

    public void setListedCount(Long listedCount) {
        this.listedCount = listedCount;
    }

    public Long getListedCount() {
        return listedCount;
    }

    public void setQueryTweetsNumber(Long queryTweetsNumber) {
        this.queryTweetsNumber = queryTweetsNumber;
    }

    public Long getQueryTweetsNumber() {
        return queryTweetsNumber;
    }

    public void setTweetsLikeCount(Long tweetsLikeCount) {
        this.tweetsLikeCount = tweetsLikeCount;
    }

    public Long getTweetsLikeCount() {
        return tweetsLikeCount;
    }

    public void setTweetsMostLikeCount(Long tweetsMostLikeCount) {
        this.tweetsMostLikeCount = tweetsMostLikeCount;
    }

    public Long getTweetsMostLikeCount() {
        return tweetsMostLikeCount;
    }

    public void setTweetsRetweetCount(Long tweetsRetweetCount) {
        this.tweetsRetweetCount = tweetsRetweetCount;
    }

    public Long getTweetsRetweetCount() {
        return tweetsRetweetCount;
    }

    public void setTweetsMostRetweetCount(Long tweetsMostRetweetCount) {
        this.tweetsMostRetweetCount = tweetsMostRetweetCount;
    }

    public Long getTweetsMostRetweetCount() {
        return tweetsMostRetweetCount;
    }

    public void setTweetsQuoteCount(Long tweetsQuoteCount) {
        this.tweetsQuoteCount = tweetsQuoteCount;
    }

    public Long getTweetsQuoteCount() {
        return tweetsQuoteCount;
    }

    public void setTweetsReplyCount(Long tweetsReplyCount) {
        this.tweetsReplyCount = tweetsReplyCount;
    }

    public Long getTweetsReplyCount() {
        return tweetsReplyCount;
    }

    public void setTweetsMostReplyCount(Long tweetsMostReplyCount) {
        this.tweetsMostReplyCount = tweetsMostReplyCount;
    }

    public Long getTweetsMostReplyCount() {
        return tweetsMostReplyCount;
    }

    public void setTweetsKeywordNumber(Long tweetsKeywordNumber) {
        this.tweetsKeywordNumber = tweetsKeywordNumber;
    }

    public Long getTweetsKeywordNumber() {
        return tweetsKeywordNumber;
    }

    public void setLatestTweetTime(Date latestTweetTime) {
        this.latestTweetTime = latestTweetTime;
    }

    public Date getLatestTweetTime() {
        return latestTweetTime;
    }

    public void setPriorityCrawl(Long priorityCrawl) {
        this.priorityCrawl = priorityCrawl;
    }

    public Long getPriorityCrawl() {
        return priorityCrawl;
    }

    public void setSearchedOthers(Long searchedOthers) {
        this.searchedOthers = searchedOthers;
    }

    public Long getSearchedOthers() {
        return searchedOthers;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("twUserId", getTwUserId())
                .append("username", getUsername())
                .append("name", getName())
                .append("createdAt", getCreatedAt())
                .append("description", getDescription())
                .append("pinnedTweetId", getPinnedTweetId())
                .append("profileImageUrl", getProfileImageUrl())
                .append("Protected", getProtected())
                .append("followersCount", getFollowersCount())
                .append("followingCount", getFollowingCount())
                .append("tweetCount", getTweetCount())
                .append("listedCount", getListedCount())
                .append("queryTweetsNumber", getQueryTweetsNumber())
                .append("tweetsLikeCount", getTweetsLikeCount())
                .append("tweetsMostLikeCount", getTweetsMostLikeCount())
                .append("tweetsRetweetCount", getTweetsRetweetCount())
                .append("tweetsMostRetweetCount", getTweetsMostRetweetCount())
                .append("tweetsQuoteCount", getTweetsQuoteCount())
                .append("tweetsReplyCount", getTweetsReplyCount())
                .append("tweetsMostReplyCount", getTweetsMostReplyCount())
                .append("tweetsKeywordNumber", getTweetsKeywordNumber())
                .append("latestTweetTime", getLatestTweetTime())
                .append("priorityCrawl", getPriorityCrawl())
                .append("searchedOthers", getSearchedOthers())
                .append("updateTime", getUpdateTime())
                .append("createTime", getCreateTime())
                .toString();
    }
}
